iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 8
0
Modern Web

PHP laravel的邂逅系列 第 8

DAY08-Controller介紹PART 1

  • 分享至 

  • xImage
  •  

DAY08-Controller介紹PART 1

controller的檔案會在app/Http/Controllers底下,以後新增的controller都可以在這邊找到。controller能夠將相關的請求處理邏輯組成一個單獨的類別,方便我們調用裡面的東西。

新增一個新的controller指令,接著我們就可以在controller裡面寫點東西。

下面這個指令的controller內容全部要自己寫。


php artisan make:controller BlogsController

//controller的內容
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class PostsController extends Controller
{
    //
}

而下面這個指令可以幫你寫好預設CRUD,直接在function裡面寫程式即可。

有CRUD的內容,是不是方便很多啊,但有些功能不用CRUD全部都要寫,你就可以使用剛介紹的第一個指令,寫你想要的function就可以了。

<?php


php artisan make:controller --resource NewsController



namespace App\Http\Controllers;

use Illuminate\Http\Request;

class NewsController extends Controller
{
    //顯示所有資料
    public function index()
    {
        //
    }
    //新增一筆資料
    public function create()
    {
        //
    }

    //儲存資料
    public function store(Request $request)
    {
        //
    }

    //顯示一筆資料
    public function show($id)
    {
        //
    }

    //編輯一筆資料
    public function edit($id)
    {
        //
    }

    //更新一筆資料
    public function update(Request $request, $id)
    {
        //
    }

    //刪除一筆資料
    public function destroy($id)
    {
        //
    }
}

接著我們來寫點程式碼,來讓route可以接上controller,首先先到route/web.php裡面,上面我是新增一個最新消息(NewsController)的controller,那就先來試試看顯示最新消息的首頁吧

step.1 新增一個最新消息的路由
//web.php
Route::get('/news','NewsController@index');
step.2 要在專案的目錄底下執行唷
//終端機啟動serve
php artisan serve 

你會看到空白的頁面,因為還沒在index function裡面寫東西。

step.3 找到index的位置,來回傳字串試試看,頁面重新整理看看頁面是不是有出現這是最新消息的首頁,有的話就是成功囉
//NewsController.php
//
    public function index()
    {
        return '這是最新消息的首頁';
    }

剩下的內容明天繼續~


上一篇
DAY07-Route基本介紹 PART 2
下一篇
DAY09-Controller介紹 PART 2
系列文
PHP laravel的邂逅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
neohsu1214
iT邦見習生 ‧ 2019-03-02 00:09:26

class PostsController extends Controller
是否應該修改為
class BlogsController extends Controller
?

我要留言

立即登入留言